home *** CD-ROM | disk | FTP | other *** search
/ Gigarom 4 / Mac Giga-ROM 4.0 - 1993.toast / FILES / DEV / I-Z / SysAlerts.cpt / SysAlertsDoc < prev    next >
Internet Message Format  |  1985-03-07  |  3KB

  1. Date: Sun 3 Mar 85 12:41:15-PST
  2. From: Gustavo Fernandez <FERNANDEZ@SU-SCORE.ARPA>
  3. Subject: Programmers' Deep Shit Alerts
  4.  
  5. Anyone who has read the system error handler section of Inside Mac has
  6. seen the 'system alerts' window which was supposedly for programmers
  7. while the bomb we all know and love was for naive users.
  8. Unfortunately, Apple never released the programmers' alerts.
  9.    Having a very old version of the system (october '83) from which I
  10. was able to grab such goodies as the Monkey, etc, I decided to try to
  11. bring over the old deep shit alerts as well. (That's what they're
  12. called!)
  13.    I had to do a complete disassembly of the file as several updates
  14. had been made since then. I then merged my disassembly with the
  15. published source of the user alerts (Lisa workshop local/init2.text)
  16. The results are now stored in <info-mac>sysalerts.asm (assembly
  17. source) and <info-mac>sysalerts.hqx (BINHEX 4.0 file of resource file
  18. sysalerts containing a single INIT 2 resource to replace the existing
  19. INIT 2 in the system folder - Use REDIT.)
  20.  
  21. The programmers' alerts have the following advantages...
  22.  
  23. 1) They display the error message as well as the error code. (ID=28 is
  24.     displayed as "Stack overflow," etc.)
  25.  
  26. 2) They give a register dump of A0-A7/D0-D7 and PC.
  27.  
  28. 3) There is a FINDER button that does an ExitToShell call as well as
  29.     the usual restart and resume buttons.
  30.  
  31. They have the following disadvantages...
  32.  
  33. 1) They are defenitely NOT for naive users. The register dump is ugly.
  34.     The error messages migh either scare people or make thim jump to
  35.     conclusions
  36.  
  37. 2) The FINDER button may not always work. Currently it does the same
  38.     as the RESTART button if the ExitToShell trap is patched. (Both the
  39.     switcher and Hyper do this.)
  40.  
  41. 3) They take up almost 4 times as much memory in the system heap than
  42.     do the user alerts. I have yet to try these out on a 128K mac where
  43.     the system heap is a lot smaller.
  44.  
  45. I took a few liberties and added a few things to the code.
  46.  
  47. 1) The register names are displayed as well as their values. (ie
  48.     D0=xxxxxx...)
  49.  
  50. 2) Some of the error messages have been changed to reflect their true
  51.     meaning in a Mac environment (eg Line 1111 exception changed to Fxxx
  52.     Breakpoint.)
  53.     Some other errors which are nearly impossible to create (such as
  54.     bus error or privelige exception) were deleted to save memory.
  55.  
  56. 3) The grayed out RESUME button, which was faked in by the user
  57.     alerts, and nonexistent in the system alerts, was added for the sake of
  58.     compatibility.
  59.     Some memory can be reclaimed by deleting subroutine PlotGrayBut and
  60.     its single call at the beginning of routine p4. This will make this
  61.     button appear ONLY when resume is enabled.
  62.  
  63. 4) Certain parts of the display were shifted slightly
  64.  
  65. 5) The code now comforms to the current conventions which have changed
  66.     since October, '83.
  67.  
  68.                                                 Have Fun and Happy Hacking.
  69.                                                 Gus Fernandez
  70.                                                 FERNANDEZ@SU-SCORE
  71. - -------
  72.  
  73. Return-Path: <FERNANDEZ@SU-SCORE.ARPA> Date: Mon 4 Mar 85 23:01:34-PST
  74. From: Gustavo Fernandez <FERNANDEZ@SU-SCORE.ARPA> Subject: Re: your
  75. D--- Sh-- alerts codes.  To: INFO-MAC-REQUEST@SUMEX-AIM.ARPA
  76.  
  77. To install the alerts, simply use RMOVER or the Resource editor to
  78. replace the INIT 2 resource in the system wwith the new one.
  79.  
  80.                                                         Gus
  81.  
  82.